package com.xmtlxx.oms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 财物分类业务对象 t_classify
 *
 * @author xmtlxx
 * @date 2022-08-12
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("财物分类业务对象")
public class ClassifyBo extends BaseEntity {

    /**
     * 分类ID
     */
    @ApiModelProperty(value = "分类ID")
    private String id;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号", required = true)
    @NotBlank(message = "编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String classifyNo;

    /**
     * 等级
     */
    @ApiModelProperty(value = "等级", required = true)
    @NotNull(message = "等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long level;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", required = true)
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 父级
     */
    @ApiModelProperty(value = "父级")
    private String parentId;

    /**
     * 节点
     */
    @ApiModelProperty(value = "节点")
    private String ancestors;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序", required = true)
    @NotNull(message = "排序不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long seq;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;


}
